热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

1/w^2的傅里叶逆变换(傅里叶变换是什么)

在实现过程中要注意很多问题。以2048点为例,根据理论值计算,计算一次2048点的IFFT的时间应为130us。在采用流水线的方式下,实部计算和虚部计算均采用两块RAM实现流水线。




上一篇文章介绍了FFT的硬件实现。 关于FFT的逆运算IFFT,实际上只要逆执行实现FFT的过程就可以了。


在实现的过程中必须注意许多问题。


和FFT一样,是效率的问题。 以2048点为例,根据理论值计算,一次计算2048点的IFFT的时间必须是130us。 采用流水线方式时,实部计算和虚部计算都采用2片RAM实现流水线。




结构如上图所示。 在这种方式中,FPGA的片上RAM被消耗了很多。


为了节约RAM,可以采用一张RAM的流水线方式。 在实施过程中,需要注意RAM操作的读-写。 上一篇文章介绍了。 这种方式速度减半。


最节约的方法是使用控制器方式,但速度更低。 在此不做介绍。


上图所示的IFFT过程存在很多组合逻辑,定时还不够,所以应该在组合逻辑中加入寄存器来高速化。 但是,寄存器流水线的级数会影响读写两张RAM的切换,从而影响计算效率,因此值得在此进行讨论。




在设计中,RAM输出侧没有使用REG,所以应该在一个地方放入REG来提高速度。 否则,一处会发生计时违规,一处组合的逻辑延迟会变大。




两个地方和三个地方也是值得深思的地方。 请注意,从加法器的输出到乘法器的输入,以及从乘法器的输出到加法器的输入,都是大量的组合逻辑,不仅仅是功能模拟。 请务必在综合工具下进行综合,确认是否满足时机。 在实践中,两者都加入了REG。


是否在4个地方追加REG需要看综合结果。 实际分析表明,在4个地方添加REG会降低计算效率,导致读RAM和写RAM的时间来不及,这是基于自己设计的结果。


由于FFT计算过程使用乘法器,因此在IFFT中需要使用除法器。 要减少除法器使用的资源或将除法器改为其他逻辑实现,必须进行深入研究。




版权归勋爵精湛的技术,转载请注明出处


作者:勋爵萃科学技术ALIFPGA


原文地址:卿萃科技FPGA极客空间微信公众号

飞艇7码滚雪球技巧origin/pgc-image/1530586492695fcc048246f?from=pc">


两个地方和三个地方也是值得深思的地方。 请注意,从加法器的输出到乘法器的输入,以及从乘法器的输出到加法器的输入,都是大量的组合逻辑,不仅仅是功能模拟。 请务必在综合工具下进行综合,确认是否满足时机。 在实践中,两者都加入了REG。


是否在4个地方追加REG需要看综合结果。 实际分析表明,在4个地方添加REG会降低计算效率,导致读RAM和写RAM的时间来不及,这是基于自己设计的结果。


由于FFT计算过程使用乘法器,因此在IFFT中需要使用除法器。 要减少除法器使用的资源或将除法器改为其他逻辑实现,必须进行深入研究。




版权归勋爵精湛的技术,转载请注明出处


作者:勋爵萃科学技术ALIFPGA


原文地址:卿萃科技FPGA极客空间微信公众号


推荐阅读
author-avatar
mongcheng
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有